iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
自我挑戰組

Android Studio 初學者的30天筆記系列 第 21

DAY21:AsyncTask類別之實作

  • 分享至 

  • xImage
  •  

今天的實作要透過一個計算BMI的小程式來使用AsyncTask類別,在這之中,我們要加入Thread.sleep(),使用這個方法暫停執行5秒,把它模擬成需要一段時間去執行的。
那麼,首先我們的第一步一樣是畫面設計,大致上最主要的按鍵就是輸入身高、體重、年紀、性別,並將計算出來的數值顯示在相對應的TextView上,以及使用進度條,從0%跑到100%,當跑好時數值也隨之顯示出來。
因為畫面元件較多,因此程式碼會比較長一點。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488SZL0jItLhN.png
https://ithelp.ithome.com.tw/upload/images/20211006/20140488UdCaWC3EMh.png
https://ithelp.ithome.com.tw/upload/images/20211006/20140488ut5IWEcmRF.png
https://ithelp.ithome.com.tw/upload/images/20211006/20140488wuA43YV8BX.png
https://ithelp.ithome.com.tw/upload/images/20211006/20140488IKBOkf105g.png
https://ithelp.ithome.com.tw/upload/images/20211006/20140488yUGdSs1O99.png
畫面設計完成後,我們要來編寫MainActivity,首先,我們先建立變數,並且將變數與XML的元件綁定。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488tfjyfenGwn.png
接著,我們要對”計算”這個按鈕建立監聽事件,當身高或體重或年齡沒有輸入時,則使用Toast顯示提醒文字,若都輸入完成則進行下一步。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488GR1jWCevpE.png
接著,要來設計進度條,首先,需先初始化進度條,並將進度條顯示0%,然後建立一個迴圈,讓它執行100次,每次延遲0.5秒後執行,這樣一共會延遲5秒,並將進度條持續的從0往上加。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488vhFL5M4tlE.png
繼續,我們將身高、體重、年紀進行宣告資料類別,利用Pair類別進行解構宣告,輸入男女生不同的BMI計算公式,當按下性別為男時,則去執行計算男生的公式,選擇女生則去執行女生的公式,最後將體脂肪以及BMI標準體重顯示在畫面上。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488cUyxgsWmvp.png
最後程式結果如下:
最一開始先輸入基本資料,並且按下計算。
https://ithelp.ithome.com.tw/upload/images/20211006/20140488PsIPM52iIK.png
按下計算後,會跑出進度條,模擬資料輸入後須計算運行的進度。
https://ithelp.ithome.com.tw/upload/images/20211006/201404881WEuAT9hKf.png
跑完後就會顯示出標準體重跟體脂肪以及BMI了
https://ithelp.ithome.com.tw/upload/images/20211006/20140488g1F8n67cDX.png


上一篇
DAY20:ANR程式無回應之簡介
下一篇
DAY22:Service背景服務之簡介
系列文
Android Studio 初學者的30天筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言